// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

// 每个页面都会导入该js 统一的设置写这里即可
// tip()提示框
// 创建了toast轻提示 元素
const myToast = new bootstrap.Toast(document.querySelector('#myToast'), {
  delay: 1000,
})
function tip(msg) {
  // 将传入的msg设置为弹框的内容
  document.querySelector('#myToast .toast-body').innerHTML = msg
  // 调用 显示
  myToast.show()
}

// 设置基地址
axios.defaults.baseURL = 'http://ajax-api.itheima.net'

// 3.1 用户名
const username = localStorage.getItem('username')
// 3.2 获取span 名字这个元素对象
const titleName = document.querySelector('#navbar-main .font-weight-bold')
// if (titleName) {
//   titleName.innerHTML = username
// }
// 3.3 判断是否有这个元素对象 有就修改
titleName && (titleName.innerHTML = username)

// 4.退出操作
const logout = document.querySelector('#logout')
// if (logout) {
//   logout.onclick = function () {
//     // 4.1 删除用户名
//     localStorage.removeItem('username')
//     // 4.2 删除token
//     localStorage.removeItem('token')
//     // 4.3 跳转login.html
//     location.assign('./login.html')
//   }
// }
logout &&
  (logout.onclick = function () {
    // 4.1 删除用户名
    localStorage.removeItem('username')
    // 4.2 删除token
    localStorage.removeItem('token')
    // 4.3 跳转login.html
    location.assign('./login.html')
  })

// ;'--------------------------请求拦截----------------------------')
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    // console.log('请求拦截触发了');
    // console.log(config);
    // config.uname = '张三'
    // config.headers.uname = '李四'
    config.headers.Authorization = localStorage.getItem('token')
    return config
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
  }
)

// '-------------------------------------响应拦截器------------------------');

axios.interceptors.response.use(
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // console.log(response);
    // 对响应数据做点什么
    return response.data
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error)
  }
)
